Python 您所在的位置:网站首页 Excel xlsx读取失败 Python

Python

2023-09-27 22:29| 来源: 网络整理| 查看: 265

问题1 Error tokenizing data. C error: Buffer overflow caught - possible malformed input file.

解决方案 这一般是缓冲区溢出错误,造成这种错误的原因是.csv文件中每行使用了 \r ,也就是回车符。 解决方案就是给 read_csv 添加参数 lineterminator=”\n” , 指定用“\n” 作为换行符。

df = pd.read_excel(r'test.csv',lineterminator="\n")

问题2 “pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, s”

解决方案 加入参数error_bad_lines=False

df = pd.read_excel(r'test.csv',error_bad_lines=False)

问题3 ‘utf-8’ codec can’t decode byte 0xd0 in position 0: invalid continuation byte

解决方案 使用国标码编码 encoding = ‘gb2312’

df = pd.read_excel(r'test.csv',encoding = 'gb2312')

如果依旧报错或者’gb2312’报错,可以选择编码范围更广的‘gb18030’

encoding='gb18030'

如果还不能解决,说明文中出现了连‘gb18030’也无法编码的字符,可以使用‘ignore’属性忽略非法字符,path为文件路径。

df = open(path, encoding='gb18030', errors='ignore')

或者

df=open(path).read().decode(‘gb18030’,’ignore’)

如果errors报错了(parser_f() got an unexpected keyword argument ‘errors’),请升级你的pandas版本。

问题4 index 1 is out of bounds for axis 1 with size 1

解决方案 数据中有空值,请检查文件里的内容。把无关数据删除,空值补上数据。

问题5 Error: ‘gbk’ codec can’t decode byte 0x80 in position 205: illegal multibyte sequence"

解决方案 后面加上参数:‘rb’

df = pd.read_excel(r'test.csv','rb')

问题6 读取数据时总是少一行数据。

解决方案 加上参数header = 0或者header = None。

df = pd.read_excel(r'test.csv',header = None)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有